#ifndef SDCONTROLLER_H
#define SDCONTROLLER_H

#include <QObject>
#include "database.h"
#include <BuildingMapModel/buildingmapmodel.h>

class SDController : public QObject
{
    Q_OBJECT
public:
    explicit SDController(QObject *parent = nullptr);
    void processData(QByteArray data);

    void setSDQmlViewRootItem(const QObject *rootqmlview);

signals:
    void sdEvent(QString isn , QString event , bool islt = false);
    void sdInit(QString devtype,QString sdisn ,QString ltisn, int port , QString state , int x , int y , int power , int emgno , QString emgtime);

public slots:
    void getFloorDevice(int buildtype , QVariant buildindex);

    void update_position(const QString& id, const QString &type, int x, int y);

    void setSDEvent(const QString &id , const QString &type , QString event);

    QString getSDSateInfo();

    void updateSDEmgCntInfo(const QString &sdid, const QString &event);
private:
    void initSDDevices();

    BuildingMapModel *mp_SDBuildingMapModel;

    void init2DMapDevicesNumInfo();

};

#endif // SDCONTROLLER_H
